package com.bjpowernode.money.service;

import com.bjpowernode.money.model.BidInfo;
import com.bjpowernode.money.model.LoanInfo;
import com.bjpowernode.money.model.PageModel;

import java.util.HashMap;
import java.util.List;

/**
 * @author ZHAOZHENYU
 * @since 2022/10/14
 */
public interface LoanInfoService {

    /**
     *  1、查出利率平均数
     * @return
     */
    Double queryLoanRateAvg();

    /**
     * 2、根据 投资产品参数 查出贷款产品
     * @param paramsMap 类型 起始 数量
     * @return
     */
    List<LoanInfo> queryLoanProduct(HashMap<String, Object> paramsMap);

    /**
     *  3、列表：投资产品分页查询
     * @param pType         标类
     * @param pageModel     分页模型
     * @return
     */
    List<LoanInfo> queryLoanProductPage(Integer pType, PageModel pageModel);

    /**
     * 4、列表：根据投资产品类型查所有个数
     * @param pType
     * @return
     */
    Long queryLoanCountByType(Integer pType);

    /**
     * 5、详情：根据Id查投资产品详细信息
     * @param loanId
     * @return
     */
    LoanInfo queryLoanInfoById(Integer loanId);

    /**
     * 6、redis查出最高的5个投资记录
     * @return
     */
    List<BidInfo> queryBidRankList();

}
